1. Statement of the Technical Field
The present invention relates to the field of network connectivity and multimedia protocols and more particularly to managing connectivity through a reverse proxy.
2. Description of the Related Art
The rapid development of the Internet has led to advanced modes of communication and collaboration. Using the Internet as a backbone, individuals worldwide can converge in cyberspace to share ideas, documents and images in a manner not previously possible through conventional telephony and video conferencing. To facilitate collaboration over the Internet, a substantial collection of technologies and protocols have been assembled to effectively deliver audio, video and data over the single data communications medium of the Internet. Nevertheless, the real-time delivery requirements of audio and video have strained the infrastructure of the Internet in its ability to support multimedia collaboration.
Along with the dramatic rise in Internet usage over the past decade, a correspondingly dramatic increase in hacking and unauthorized accessing of data over the Internet has been observed. In response, contemporary network architecture theory incorporates network elements tasked with the security of discrete portions of the Internet. Typical network elements include firewalls, SOCKS proxies, hypertext transfer protocol (HTTP) proxies, network obfuscation units such as network and port address translation, and the like. The use of these network elements, however, can complicate the accommodation of collaborative computing technologies. In particular, the disposition of a security device in the path of real-time data transmissions can interrupt if not completely block the flow of the real-time data from source to sink.
One type of network security element, the reverse proxy, can be used to protect a cluster of servers from discretionary access by clients residing in the Internet. The reverse proxy can protect the cluster of servers by forcing external clients to connect to individual servers within the cluster only through the reverse proxy. The reverse proxy itself can manage authentication, address translation and monitoring of data flowing through the reverse proxy in order to ensure protocol integrity. In this regard, the reverse proxy only can support the HTTP protocol.
It can be quite complicated to exchange audio and video data media streams between client and server devices on opposite sides of a reverse proxy. As it is well known in the art, generally reverse proxies only permit HTTP traffic to flow through. Consequently, some have utilized HTTP tunneling to push non-HTTP data through a reverse proxy while complying with the HTTP requirement of the reverse proxy. In further illustration, FIG. 1 is a schematic illustration of a system incorporating an HTTP tunnel through a reverse proxy. Specifically, as shown in FIG. 1, a reverse proxy 130 can be disposed between a client computing device 110 and a server computing device 120 communicatively coupled to one another over the data communications network 140. The reverse proxy 130 can include an address mapping table 150 for associating incoming requests to specific back-end server computing devices protected by the reverse proxy 130.
An HTTP tunnel 180 can be established first by initiating a connection commonly used for secured sockets layer (SSL) connection with the reverse proxy 130. Specifically, the client computing device 110 can forward an HTTP-CONNECT message 170 to the reverse proxy 130 responsive to which the reverse proxy 130 can accept the connection from the client computing device 110. The open connection can be referred to as an HTTP tunnel 180 in as much as HTTP traffic 190 encapsulating non-HTTP data can be routed via the reverse proxy 130 through the tunnel 180 to the server computing device 120.
Once the tunnel has been established, the reverse proxy 130 will ignore the HTTP traffic 190, even though the HTTP traffic 190 contains non-HTTP data because in accordance with the SSL session, the HTTP traffic 190 will be encrypted and unrecognizable to the reverse proxy 130. Still, while HTTP tunneling can be beneficial for many applications, HTTP as a protocol suffers from substantial latency issues. Time sensitive applications such as real-time media processing, however, cannot tolerate the latencies associated with HTTP. Thus, HTTP tunneling real-time media streams such as audio and video through a reverse proxy simply is not an option in most cases.